#ifndef __STDTCP_H_
#define __STDTCP_H_

#include <stdbool.h>
#include <stddef.h>



struct StdTcpServer;
typedef struct StdTcpServer TcpS; 

/* 初始化服务器监听 */
TcpS* TcpServerInit(const char *ip, unsigned short port);

/* 服务器接收客户端套接字 */
int TcpServerAccept(TcpS *s);

/* 服务器发送数据 */
bool TcpServerSend(int ClientSock, void *p, size_t size);

/* 服务器接收数据 */
bool TcpServerRecv(int ClientSock, void *p, size_t size);

/* 服务器资源回收 */
void ClearTcpServer(TcpS *s);


struct StdTcpClient;
typedef struct StdTcpClient TcpC; 
/* 初始化客户端 */
TcpC* TcpClientInit(const char *Serverip, unsigned short Serverport);

/* 客户端数据发送 */
bool TcpClientSend(TcpC *c, void *p, size_t size);

/* 客户端数据接收 */
bool TcpClientRecv(TcpC *c, void *p, size_t size);

/* 客户端资源回收 */
void ClearTcpClient(TcpC *c);
#endif